[INFO] cloning repository https://github.com/dentimoer-official/ventura
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dentimoer-official/ventura" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdentimoer-official%2Fventura", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdentimoer-official%2Fventura'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 339e45145832b377961128bd7322b4987c23c6e3
[INFO] testing dentimoer-official/ventura against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdentimoer-official%2Fventura" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dentimoer-official/ventura
[INFO] finished tweaking git repo https://github.com/dentimoer-official/ventura
[INFO] tweaked toml for git repo https://github.com/dentimoer-official/ventura written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dentimoer-official/ventura on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dentimoer-official/ventura already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 15d6c3e17276d2db5c1459f199e1f02ae26efada083f2dfc26a0dec6f5704c03
[INFO] running `Command { std: "docker" "start" "-a" "15d6c3e17276d2db5c1459f199e1f02ae26efada083f2dfc26a0dec6f5704c03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15d6c3e17276d2db5c1459f199e1f02ae26efada083f2dfc26a0dec6f5704c03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15d6c3e17276d2db5c1459f199e1f02ae26efada083f2dfc26a0dec6f5704c03", kill_on_drop: false }`
[INFO] [stdout] 15d6c3e17276d2db5c1459f199e1f02ae26efada083f2dfc26a0dec6f5704c03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f1bac80d3f5c8ea0dde23016564943d5325e3151b80673ba74817652966e5a47
[INFO] running `Command { std: "docker" "start" "-a" "f1bac80d3f5c8ea0dde23016564943d5325e3151b80673ba74817652966e5a47", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling ventura-rocm v0.1.0 (/opt/rustwide/workdir/crates/ventura-rocm)
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling ventura-cuda v0.1.0 (/opt/rustwide/workdir/crates/ventura-cuda)
[INFO] [stderr]    Compiling shader v0.1.0 (/opt/rustwide/workdir/examples/shader)
[INFO] [stderr]    Compiling gpgpu v0.1.0 (/opt/rustwide/workdir/examples/gpgpu)
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ventura-core v0.1.2 (/opt/rustwide/workdir/crates/ventura-core)
[INFO] [stderr]    Compiling ventura-macro-utils v0.1.2 (/opt/rustwide/workdir/crates/ventura-macro-utils)
[INFO] [stderr]    Compiling ventura-metal v0.2.1 (/opt/rustwide/workdir/crates/ventura-metal)
[INFO] [stdout] warning: unused import: `std::ffi::CStr`
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_is_supported` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn slvt_metal_is_supported() -> bool;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_device_name` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn slvt_metal_device_name() -> *mut c_char; // strdup이므로 *mut
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_recommended_max_working_set_size` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn slvt_metal_recommended_max_working_set_size() -> u64;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_has_unified_memory` is never used
[INFO] [stdout]   --> crates/ventura-metal/src/ffi/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn slvt_metal_has_unified_memory() -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ventura v0.1.3 (/opt/rustwide/workdir/crates/ventura)
[INFO] [stderr]    Compiling basic v0.1.0 (/opt/rustwide/workdir/examples/basic)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.52s
[INFO] running `Command { std: "docker" "inspect" "f1bac80d3f5c8ea0dde23016564943d5325e3151b80673ba74817652966e5a47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1bac80d3f5c8ea0dde23016564943d5325e3151b80673ba74817652966e5a47", kill_on_drop: false }`
[INFO] [stdout] f1bac80d3f5c8ea0dde23016564943d5325e3151b80673ba74817652966e5a47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 655560819c93f5bfcf596c7ce57431beed99a8a72f4ed3714ad153c9e10e681b
[INFO] running `Command { std: "docker" "start" "-a" "655560819c93f5bfcf596c7ce57431beed99a8a72f4ed3714ad153c9e10e681b", kill_on_drop: false }`
[INFO] [stderr]    Compiling shader v0.1.0 (/opt/rustwide/workdir/examples/shader)
[INFO] [stderr]    Compiling gpgpu v0.1.0 (/opt/rustwide/workdir/examples/gpgpu)
[INFO] [stderr]    Compiling ventura-cuda v0.1.0 (/opt/rustwide/workdir/crates/ventura-cuda)
[INFO] [stderr]    Compiling ventura-rocm v0.1.0 (/opt/rustwide/workdir/crates/ventura-rocm)
[INFO] [stderr]    Compiling ventura-core v0.1.2 (/opt/rustwide/workdir/crates/ventura-core)
[INFO] [stderr]    Compiling ventura-macro-utils v0.1.2 (/opt/rustwide/workdir/crates/ventura-macro-utils)
[INFO] [stderr]    Compiling ventura-metal v0.2.1 (/opt/rustwide/workdir/crates/ventura-metal)
[INFO] [stdout] warning: unused import: `std::ffi::CStr`
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_is_supported` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn slvt_metal_is_supported() -> bool;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_device_name` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn slvt_metal_device_name() -> *mut c_char; // strdup이므로 *mut
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_recommended_max_working_set_size` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn slvt_metal_recommended_max_working_set_size() -> u64;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_has_unified_memory` is never used
[INFO] [stdout]   --> crates/ventura-metal/src/ffi/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn slvt_metal_has_unified_memory() -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CStr`
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_is_supported` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn slvt_metal_is_supported() -> bool;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_device_name` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn slvt_metal_device_name() -> *mut c_char; // strdup이므로 *mut
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_recommended_max_working_set_size` is never used
[INFO] [stdout]  --> crates/ventura-metal/src/ffi/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn slvt_metal_recommended_max_working_set_size() -> u64;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slvt_metal_has_unified_memory` is never used
[INFO] [stdout]   --> crates/ventura-metal/src/ffi/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn slvt_metal_has_unified_memory() -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ventura v0.1.3 (/opt/rustwide/workdir/crates/ventura)
[INFO] [stderr]    Compiling basic v0.1.0 (/opt/rustwide/workdir/examples/basic)
[INFO] [stderr]    Compiling backend_detect v0.1.0 (/opt/rustwide/workdir/examples/backend_detect)
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "matmul",
[INFO] [stderr]             span: #0 bytes(346..352),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "a",
[INFO] [stderr]                             span: #0 bytes(353..354),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(357..363),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "b",
[INFO] [stderr]                             span: #0 bytes(365..366),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(369..375),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "out",
[INFO] [stderr]                             span: #0 bytes(377..380),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: Some(
[INFO] [stderr]                             Mut,
[INFO] [stderr]                         ),
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(387..393),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "_grid",
[INFO] [stderr]                             span: #0 bytes(395..400),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Path {
[INFO] [stderr]                         qself: None,
[INFO] [stderr]                         path: Path {
[INFO] [stderr]                             leading_colon: None,
[INFO] [stderr]                             segments: [
[INFO] [stderr]                                 PathSegment {
[INFO] [stderr]                                     ident: Ident {
[INFO] [stderr]                                         ident: "GpuGrid",
[INFO] [stderr]                                         span: #0 bytes(402..409),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     arguments: PathArguments::None,
[INFO] [stderr]                                 },
[INFO] [stderr]                             ],
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "_group_size",
[INFO] [stderr]                             span: #0 bytes(411..422),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Path {
[INFO] [stderr]                         qself: None,
[INFO] [stderr]                         path: Path {
[INFO] [stderr]                             leading_colon: None,
[INFO] [stderr]                             segments: [
[INFO] [stderr]                                 PathSegment {
[INFO] [stderr]                                     ident: Ident {
[INFO] [stderr]                                         ident: "usize",
[INFO] [stderr]                                         span: #0 bytes(424..429),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     arguments: PathArguments::None,
[INFO] [stderr]                                 },
[INFO] [stderr]                             ],
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Default,
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::ForLoop {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     label: None,
[INFO] [stderr]                     for_token: For,
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "i",
[INFO] [stderr]                             span: #0 bytes(441..442),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     in_token: In,
[INFO] [stderr]                     expr: Expr::Range {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         start: Some(
[INFO] [stderr]                             Expr::Lit {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 lit: Lit::Int {
[INFO] [stderr]                                     token: 0,
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         ),
[INFO] [stderr]                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                             DotDot,
[INFO] [stderr]                         ),
[INFO] [stderr]                         end: Some(
[INFO] [stderr]                             Expr::Index {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 expr: Expr::Field {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     base: Expr::Path {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         qself: None,
[INFO] [stderr]                                         path: Path {
[INFO] [stderr]                                             leading_colon: None,
[INFO] [stderr]                                             segments: [
[INFO] [stderr]                                                 PathSegment {
[INFO] [stderr]                                                     ident: Ident {
[INFO] [stderr]                                                         ident: "a",
[INFO] [stderr]                                                         span: #0 bytes(449..450),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             ],
[INFO] [stderr]                                         },
[INFO] [stderr]                                     },
[INFO] [stderr]                                     dot_token: Dot,
[INFO] [stderr]                                     member: Member::Named(
[INFO] [stderr]                                         Ident {
[INFO] [stderr]                                             ident: "shape",
[INFO] [stderr]                                             span: #0 bytes(451..456),
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 bracket_token: Bracket,
[INFO] [stderr]                                 index: Expr::Lit {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     lit: Lit::Int {
[INFO] [stderr]                                         token: 0,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         ),
[INFO] [stderr]                     },
[INFO] [stderr]                     body: Block {
[INFO] [stderr]                         brace_token: Brace,
[INFO] [stderr]                         stmts: [
[INFO] [stderr]                             Stmt::Expr(
[INFO] [stderr]                                 Expr::ForLoop {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     label: None,
[INFO] [stderr]                                     for_token: For,
[INFO] [stderr]                                     pat: Pat::Ident {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         by_ref: None,
[INFO] [stderr]                                         mutability: None,
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "j",
[INFO] [stderr]                                             span: #0 bytes(474..475),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         subpat: None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                     in_token: In,
[INFO] [stderr]                                     expr: Expr::Range {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         start: Some(
[INFO] [stderr]                                             Expr::Lit {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 lit: Lit::Int {
[INFO] [stderr]                                                     token: 0,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             },
[INFO] [stderr]                                         ),
[INFO] [stderr]                                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                                             DotDot,
[INFO] [stderr]                                         ),
[INFO] [stderr]                                         end: Some(
[INFO] [stderr]                                             Expr::Index {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 expr: Expr::Field {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     base: Expr::Path {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         qself: None,
[INFO] [stderr]                                                         path: Path {
[INFO] [stderr]                                                             leading_colon: None,
[INFO] [stderr]                                                             segments: [
[INFO] [stderr]                                                                 PathSegment {
[INFO] [stderr]                                                                     ident: Ident {
[INFO] [stderr]                                                                         ident: "b",
[INFO] [stderr]                                                                         span: #0 bytes(482..483),
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             ],
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     dot_token: Dot,
[INFO] [stderr]                                                     member: Member::Named(
[INFO] [stderr]                                                         Ident {
[INFO] [stderr]                                                             ident: "shape",
[INFO] [stderr]                                                             span: #0 bytes(484..489),
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     ),
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 bracket_token: Bracket,
[INFO] [stderr]                                                 index: Expr::Lit {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     lit: Lit::Int {
[INFO] [stderr]                                                         token: 1,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             },
[INFO] [stderr]                                         ),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     body: Block {
[INFO] [stderr]                                         brace_token: Brace,
[INFO] [stderr]                                         stmts: [
[INFO] [stderr]                                             Stmt::Local {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 let_token: Let,
[INFO] [stderr]                                                 pat: Pat::Ident {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     by_ref: None,
[INFO] [stderr]                                                     mutability: Some(
[INFO] [stderr]                                                         Mut,
[INFO] [stderr]                                                     ),
[INFO] [stderr]                                                     ident: Ident {
[INFO] [stderr]                                                         ident: "sum",
[INFO] [stderr]                                                         span: #0 bytes(515..518),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     subpat: None,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 init: Some(
[INFO] [stderr]                                                     LocalInit {
[INFO] [stderr]                                                         eq_token: Eq,
[INFO] [stderr]                                                         expr: Expr::Lit {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             lit: Lit::Float {
[INFO] [stderr]                                                                 token: 0.0f32,
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         diverge: None,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 ),
[INFO] [stderr]                                                 semi_token: Semi,
[INFO] [stderr]                                             },
[INFO] [stderr]                                             Stmt::Expr(
[INFO] [stderr]                                                 Expr::ForLoop {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     label: None,
[INFO] [stderr]                                                     for_token: For,
[INFO] [stderr]                                                     pat: Pat::Ident {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         by_ref: None,
[INFO] [stderr]                                                         mutability: None,
[INFO] [stderr]                                                         ident: Ident {
[INFO] [stderr]                                                             ident: "k",
[INFO] [stderr]                                                             span: #0 bytes(545..546),
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         subpat: None,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     in_token: In,
[INFO] [stderr]                                                     expr: Expr::Range {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         start: Some(
[INFO] [stderr]                                                             Expr::Lit {
[INFO] [stderr]                                                                 attrs: [],
[INFO] [stderr]                                                                 lit: Lit::Int {
[INFO] [stderr]                                                                     token: 0,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                                                             DotDot,
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                         end: Some(
[INFO] [stderr]                                                             Expr::Index {
[INFO] [stderr]                                                                 attrs: [],
[INFO] [stderr]                                                                 expr: Expr::Field {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     base: Expr::Path {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         qself: None,
[INFO] [stderr]                                                                         path: Path {
[INFO] [stderr]                                                                             leading_colon: None,
[INFO] [stderr]                                                                             segments: [
[INFO] [stderr]                                                                                 PathSegment {
[INFO] [stderr]                                                                                     ident: Ident {
[INFO] [stderr]                                                                                         ident: "a",
[INFO] [stderr]                                                                                         span: #0 bytes(553..554),
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     dot_token: Dot,
[INFO] [stderr]                                                                     member: Member::Named(
[INFO] [stderr]                                                                         Ident {
[INFO] [stderr]                                                                             ident: "shape",
[INFO] [stderr]                                                                             span: #0 bytes(555..560),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     ),
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                                 bracket_token: Bracket,
[INFO] [stderr]                                                                 index: Expr::Lit {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     lit: Lit::Int {
[INFO] [stderr]                                                                         token: 1,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     body: Block {
[INFO] [stderr]                                                         brace_token: Brace,
[INFO] [stderr]                                                         stmts: [
[INFO] [stderr]                                                             Stmt::Expr(
[INFO] [stderr]                                                                 Expr::Binary {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     left: Expr::Path {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         qself: None,
[INFO] [stderr]                                                                         path: Path {
[INFO] [stderr]                                                                             leading_colon: None,
[INFO] [stderr]                                                                             segments: [
[INFO] [stderr]                                                                                 PathSegment {
[INFO] [stderr]                                                                                     ident: Ident {
[INFO] [stderr]                                                                                         ident: "sum",
[INFO] [stderr]                                                                                         span: #0 bytes(582..585),
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     op: BinOp::AddAssign(
[INFO] [stderr]                                                                         PlusEq,
[INFO] [stderr]                                                                     ),
[INFO] [stderr]                                                                     right: Expr::Binary {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         left: Expr::MethodCall {
[INFO] [stderr]                                                                             attrs: [],
[INFO] [stderr]                                                                             receiver: Expr::Path {
[INFO] [stderr]                                                                                 attrs: [],
[INFO] [stderr]                                                                                 qself: None,
[INFO] [stderr]                                                                                 path: Path {
[INFO] [stderr]                                                                                     leading_colon: None,
[INFO] [stderr]                                                                                     segments: [
[INFO] [stderr]                                                                                         PathSegment {
[INFO] [stderr]                                                                                             ident: Ident {
[INFO] [stderr]                                                                                                 ident: "a",
[INFO] [stderr]                                                                                                 span: #0 bytes(589..590),
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                             arguments: PathArguments::None,
[INFO] [stderr]                                                                                         },
[INFO] [stderr]                                                                                     ],
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             dot_token: Dot,
[INFO] [stderr]                                                                             method: Ident {
[INFO] [stderr]                                                                                 ident: "get_2d",
[INFO] [stderr]                                                                                 span: #0 bytes(591..597),
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             turbofish: None,
[INFO] [stderr]                                                                             paren_token: Paren,
[INFO] [stderr]                                                                             args: [
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "i",
[INFO] [stderr]                                                                                                     span: #0 bytes(598..599),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                                 Comma,
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "k",
[INFO] [stderr]                                                                                                     span: #0 bytes(601..602),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         op: BinOp::Mul(
[INFO] [stderr]                                                                             Star,
[INFO] [stderr]                                                                         ),
[INFO] [stderr]                                                                         right: Expr::MethodCall {
[INFO] [stderr]                                                                             attrs: [],
[INFO] [stderr]                                                                             receiver: Expr::Path {
[INFO] [stderr]                                                                                 attrs: [],
[INFO] [stderr]                                                                                 qself: None,
[INFO] [stderr]                                                                                 path: Path {
[INFO] [stderr]                                                                                     leading_colon: None,
[INFO] [stderr]                                                                                     segments: [
[INFO] [stderr]                                                                                         PathSegment {
[INFO] [stderr]                                                                                             ident: Ident {
[INFO] [stderr]                                                                                                 ident: "b",
[INFO] [stderr]                                                                                                 span: #0 bytes(606..607),
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                             arguments: PathArguments::None,
[INFO] [stderr]                                                                                         },
[INFO] [stderr]                                                                                     ],
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             dot_token: Dot,
[INFO] [stderr]                                                                             method: Ident {
[INFO] [stderr]                                                                                 ident: "get_2d",
[INFO] [stderr]                                                                                 span: #0 bytes(608..614),
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             turbofish: None,
[INFO] [stderr]                                                                             paren_token: Paren,
[INFO] [stderr]                                                                             args: [
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "k",
[INFO] [stderr]                                                                                                     span: #0 bytes(615..616),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                                 Comma,
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "j",
[INFO] [stderr]                                                                                                     span: #0 bytes(618..619),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                                 Some(
[INFO] [stderr]                                                                     Semi,
[INFO] [stderr]                                                                 ),
[INFO] [stderr]                                                             ),
[INFO] [stderr]                                                         ],
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 None,
[INFO] [stderr]                                             ),
[INFO] [stderr]                                             Stmt::Expr(
[INFO] [stderr]                                                 Expr::MethodCall {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     receiver: Expr::Path {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         qself: None,
[INFO] [stderr]                                                         path: Path {
[INFO] [stderr]                                                             leading_colon: None,
[INFO] [stderr]                                                             segments: [
[INFO] [stderr]                                                                 PathSegment {
[INFO] [stderr]                                                                     ident: Ident {
[INFO] [stderr]                                                                         ident: "out",
[INFO] [stderr]                                                                         span: #0 bytes(648..651),
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             ],
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     dot_token: Dot,
[INFO] [stderr]                                                     method: Ident {
[INFO] [stderr]                                                         ident: "set_2d",
[INFO] [stderr]                                                         span: #0 bytes(652..658),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     turbofish: None,
[INFO] [stderr]                                                     paren_token: Paren,
[INFO] [stderr]                                                     args: [
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "i",
[INFO] [stderr]                                                                             span: #0 bytes(659..660),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         Comma,
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "j",
[INFO] [stderr]                                                                             span: #0 bytes(662..663),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         Comma,
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "sum",
[INFO] [stderr]                                                                             span: #0 bytes(665..668),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     ],
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 Some(
[INFO] [stderr]                                                     Semi,
[INFO] [stderr]                                                 ),
[INFO] [stderr]                                             ),
[INFO] [stderr]                                         ],
[INFO] [stderr]                                     },
[INFO] [stderr]                                 },
[INFO] [stderr]                                 None,
[INFO] [stderr]                             ),
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `matmul` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `matmul` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     matmul
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     a
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 60     b
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 61     out
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 22     mut
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 62     _grid
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 63     GpuGrid
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 64     _group_size
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PRIM_TYPE] depth=1  => 65     usize
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 66     )
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 67     {
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 13     for
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 68     i
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 16     in
[INFO] [stderr] │    [LITERAL  ] depth=1  => 69     0
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     a
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [IDENT    ] depth=1  => 71     shape
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 72     [
[INFO] [stderr] │      [LITERAL  ] depth=2  => 69     0
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 73     ]
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 67     {
[INFO] [stderr] │      [KEYWORD  ] depth=2  => 13     for
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 74     j
[INFO] [stderr] │      [KEYWORD  ] depth=2  => 16     in
[INFO] [stderr] │      [LITERAL  ] depth=2  => 69     0
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 60     b
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [IDENT    ] depth=2  => 71     shape
[INFO] [stderr] │      [GRP_OPEN ] depth=2  => 72     [
[INFO] [stderr] │        [LITERAL  ] depth=3  => 75     1
[INFO] [stderr] │      [GRP_CLOSE] depth=2  => 73     ]
[INFO] [stderr] │      [GRP_OPEN ] depth=2  => 67     {
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 17     let
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 22     mut
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 76     sum
[INFO] [stderr] │        [PUNCT    ] depth=3  => 77     =
[INFO] [stderr] │        [LITERAL  ] depth=3  => 78     0.0f32
[INFO] [stderr] │        [PUNCT    ] depth=3  => 79     ;
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 13     for
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 80     k
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 16     in
[INFO] [stderr] │        [LITERAL  ] depth=3  => 69     0
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 55     a
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [IDENT    ] depth=3  => 71     shape
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 72     [
[INFO] [stderr] │          [LITERAL  ] depth=4  => 75     1
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 73     ]
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 67     {
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 76     sum
[INFO] [stderr] │          [PUNCT    ] depth=4  => 81     +
[INFO] [stderr] │          [PUNCT    ] depth=4  => 77     =
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 55     a
[INFO] [stderr] │          [PUNCT    ] depth=4  => 70     .
[INFO] [stderr] │          [IDENT    ] depth=4  => 82     get_2d
[INFO] [stderr] │          [GRP_OPEN ] depth=4  => 54     (
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 68     i
[INFO] [stderr] │            [PUNCT    ] depth=5  => 59     ,
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 80     k
[INFO] [stderr] │          [GRP_CLOSE] depth=4  => 66     )
[INFO] [stderr] │          [PUNCT    ] depth=4  => 83     *
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 60     b
[INFO] [stderr] │          [PUNCT    ] depth=4  => 70     .
[INFO] [stderr] │          [IDENT    ] depth=4  => 82     get_2d
[INFO] [stderr] │          [GRP_OPEN ] depth=4  => 54     (
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 80     k
[INFO] [stderr] │            [PUNCT    ] depth=5  => 59     ,
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 74     j
[INFO] [stderr] │          [GRP_CLOSE] depth=4  => 66     )
[INFO] [stderr] │          [PUNCT    ] depth=4  => 79     ;
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 84     }
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 61     out
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [IDENT    ] depth=3  => 85     set_2d
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 54     (
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 68     i
[INFO] [stderr] │          [PUNCT    ] depth=4  => 59     ,
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 74     j
[INFO] [stderr] │          [PUNCT    ] depth=4  => 59     ,
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 76     sum
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 66     )
[INFO] [stderr] │        [PUNCT    ] depth=3  => 79     ;
[INFO] [stderr] │      [GRP_CLOSE] depth=2  => 84     }
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 84     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 84     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `matmul` ──────────────────────────────
[INFO] [stderr]    [param]  a
[INFO] [stderr]    [param]  b
[INFO] [stderr]    [param]  out
[INFO] [stderr]    [param]  _grid
[INFO] [stderr]    [param]  _group_size
[INFO] [stderr]    [local]  i
[INFO] [stderr]    [local]  j
[INFO] [stderr]    [local]  sum
[INFO] [stderr]    [local]  k
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `matmul` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr]    id=22   mut
[INFO] [stderr]    id=13   for
[INFO] [stderr]    id=16   in
[INFO] [stderr]    id=17   let
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `matmul` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `matmul` ──
[INFO] [stderr]    keyword   : 10
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 23
[INFO] [stderr]    gpu_type  : 4
[INFO] [stderr]    prim_type : 1
[INFO] [stderr]    ident     : 7
[INFO] [stderr]    literal   : 7
[INFO] [stderr]    punct     : 35
[INFO] [stderr]    group     : 11
[INFO] [stderr]    total     : 109
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "vertex_main",
[INFO] [stderr]             span: #0 bytes(1027..1038),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "position",
[INFO] [stderr]                             span: #0 bytes(1039..1047),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1050..1053),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "color",
[INFO] [stderr]                             span: #0 bytes(1059..1064),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1067..1070),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Type(
[INFO] [stderr]             RArrow,
[INFO] [stderr]             Type::Path {
[INFO] [stderr]                 qself: None,
[INFO] [stderr]                 path: Path {
[INFO] [stderr]                     leading_colon: None,
[INFO] [stderr]                     segments: [
[INFO] [stderr]                         PathSegment {
[INFO] [stderr]                             ident: Ident {
[INFO] [stderr]                                 ident: "VertexOutput",
[INFO] [stderr]                                 span: #0 bytes(1079..1091),
[INFO] [stderr]                             },
[INFO] [stderr]                             arguments: PathArguments::None,
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                 },
[INFO] [stderr]             },
[INFO] [stderr]         ),
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::Struct {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     qself: None,
[INFO] [stderr]                     path: Path {
[INFO] [stderr]                         leading_colon: None,
[INFO] [stderr]                         segments: [
[INFO] [stderr]                             PathSegment {
[INFO] [stderr]                                 ident: Ident {
[INFO] [stderr]                                     ident: "VertexOutput",
[INFO] [stderr]                                     span: #0 bytes(1098..1110),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 arguments: PathArguments::None,
[INFO] [stderr]                             },
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                     brace_token: Brace,
[INFO] [stderr]                     fields: [
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "clip_position",
[INFO] [stderr]                                     span: #0 bytes(1121..1134),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: Some(
[INFO] [stderr]                                 Colon,
[INFO] [stderr]                             ),
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "position",
[INFO] [stderr]                                                 span: #0 bytes(1136..1144),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         Comma,
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "color",
[INFO] [stderr]                                     span: #0 bytes(1154..1159),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: None,
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "color",
[INFO] [stderr]                                                 span: #0 bytes(1154..1159),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         Comma,
[INFO] [stderr]                     ],
[INFO] [stderr]                     dot2_token: None,
[INFO] [stderr]                     rest: None,
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `vertex_main` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `vertex_main` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     vertex_main
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     position
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │    [PUNCT    ] depth=1  => 62     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 63     color
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 64     )
[INFO] [stderr] │  [PUNCT    ] depth=0  => 65     -
[INFO] [stderr] │  [PUNCT    ] depth=0  => 66     >
[INFO] [stderr] │  [GPU_TYPE ] depth=0  => 67     VertexOutput
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 68     {
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 67     VertexOutput
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 68     {
[INFO] [stderr] │      [IDENT    ] depth=2  => 69     clip_position
[INFO] [stderr] │      [PUNCT    ] depth=2  => 56     :
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 55     position
[INFO] [stderr] │      [PUNCT    ] depth=2  => 62     ,
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 63     color
[INFO] [stderr] │      [PUNCT    ] depth=2  => 62     ,
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 70     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 70     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `vertex_main` ──────────────────────────────
[INFO] [stderr]    [param]  position
[INFO] [stderr]    [param]  color
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `vertex_main` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `vertex_main` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `vertex_main` ──
[INFO] [stderr]    keyword   : 1
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 4
[INFO] [stderr]    gpu_type  : 2
[INFO] [stderr]    prim_type : 2
[INFO] [stderr]    ident     : 2
[INFO] [stderr]    literal   : 2
[INFO] [stderr]    punct     : 10
[INFO] [stderr]    group     : 5
[INFO] [stderr]    total     : 33
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "fragment_main",
[INFO] [stderr]             span: #0 bytes(1351..1364),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "color",
[INFO] [stderr]                             span: #0 bytes(1365..1370),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1373..1376),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Type(
[INFO] [stderr]             RArrow,
[INFO] [stderr]             Type::Path {
[INFO] [stderr]                 qself: None,
[INFO] [stderr]                 path: Path {
[INFO] [stderr]                     leading_colon: None,
[INFO] [stderr]                     segments: [
[INFO] [stderr]                         PathSegment {
[INFO] [stderr]                             ident: Ident {
[INFO] [stderr]                                 ident: "FragmentOutput",
[INFO] [stderr]                                 span: #0 bytes(1385..1399),
[INFO] [stderr]                             },
[INFO] [stderr]                             arguments: PathArguments::None,
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                 },
[INFO] [stderr]             },
[INFO] [stderr]         ),
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::Struct {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     qself: None,
[INFO] [stderr]                     path: Path {
[INFO] [stderr]                         leading_colon: None,
[INFO] [stderr]                         segments: [
[INFO] [stderr]                             PathSegment {
[INFO] [stderr]                                 ident: Ident {
[INFO] [stderr]                                     ident: "FragmentOutput",
[INFO] [stderr]                                     span: #0 bytes(1406..1420),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 arguments: PathArguments::None,
[INFO] [stderr]                             },
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                     brace_token: Brace,
[INFO] [stderr]                     fields: [
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "color",
[INFO] [stderr]                                     span: #0 bytes(1423..1428),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: None,
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "color",
[INFO] [stderr]                                                 span: #0 bytes(1423..1428),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                     dot2_token: None,
[INFO] [stderr]                     rest: None,
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `fragment_main` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `fragment_main` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     fragment_main
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     color
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 62     )
[INFO] [stderr] │  [PUNCT    ] depth=0  => 63     -
[INFO] [stderr] │  [PUNCT    ] depth=0  => 64     >
[INFO] [stderr] │  [GPU_TYPE ] depth=0  => 65     FragmentOutput
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 66     {
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 65     FragmentOutput
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 66     {
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 55     color
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 67     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 67     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `fragment_main` ──────────────────────────────
[INFO] [stderr]    [param]  color
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `fragment_main` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `fragment_main` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `fragment_main` ──
[INFO] [stderr]    keyword   : 1
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 2
[INFO] [stderr]    gpu_type  : 2
[INFO] [stderr]    prim_type : 1
[INFO] [stderr]    ident     : 1
[INFO] [stderr]    literal   : 1
[INFO] [stderr]    punct     : 4
[INFO] [stderr]    group     : 4
[INFO] [stderr]    total     : 20
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.18s
[INFO] running `Command { std: "docker" "inspect" "655560819c93f5bfcf596c7ce57431beed99a8a72f4ed3714ad153c9e10e681b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "655560819c93f5bfcf596c7ce57431beed99a8a72f4ed3714ad153c9e10e681b", kill_on_drop: false }`
[INFO] [stdout] 655560819c93f5bfcf596c7ce57431beed99a8a72f4ed3714ad153c9e10e681b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c265733ab4528900e5fc772f67112f15b854eeecd8d0e48d9df4947344cb0351
[INFO] running `Command { std: "docker" "start" "-a" "c265733ab4528900e5fc772f67112f15b854eeecd8d0e48d9df4947344cb0351", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::ffi::CStr`
[INFO] [stderr]  --> crates/ventura-metal/src/ffi/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ffi::CStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `slvt_metal_is_supported` is never used
[INFO] [stderr]  --> crates/ventura-metal/src/ffi/mod.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn slvt_metal_is_supported() -> bool;
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `slvt_metal_device_name` is never used
[INFO] [stderr]  --> crates/ventura-metal/src/ffi/mod.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn slvt_metal_device_name() -> *mut c_char; // strdup이므로 *mut
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `slvt_metal_recommended_max_working_set_size` is never used
[INFO] [stderr]  --> crates/ventura-metal/src/ffi/mod.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn slvt_metal_recommended_max_working_set_size() -> u64;
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `slvt_metal_has_unified_memory` is never used
[INFO] [stderr]   --> crates/ventura-metal/src/ffi/mod.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 |     fn slvt_metal_has_unified_memory() -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ventura-metal` (lib) generated 5 warnings (run `cargo fix --lib -p ventura-metal` to apply 1 suggestion)
[INFO] [stderr] warning: `ventura-metal` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "matmul",
[INFO] [stderr]             span: #0 bytes(346..352),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "a",
[INFO] [stderr]                             span: #0 bytes(353..354),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(357..363),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "b",
[INFO] [stderr]                             span: #0 bytes(365..366),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(369..375),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "out",
[INFO] [stderr]                             span: #0 bytes(377..380),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Reference {
[INFO] [stderr]                         and_token: And,
[INFO] [stderr]                         lifetime: None,
[INFO] [stderr]                         mutability: Some(
[INFO] [stderr]                             Mut,
[INFO] [stderr]                         ),
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "Tensor",
[INFO] [stderr]                                             span: #0 bytes(387..393),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "_grid",
[INFO] [stderr]                             span: #0 bytes(395..400),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Path {
[INFO] [stderr]                         qself: None,
[INFO] [stderr]                         path: Path {
[INFO] [stderr]                             leading_colon: None,
[INFO] [stderr]                             segments: [
[INFO] [stderr]                                 PathSegment {
[INFO] [stderr]                                     ident: Ident {
[INFO] [stderr]                                         ident: "GpuGrid",
[INFO] [stderr]                                         span: #0 bytes(402..409),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     arguments: PathArguments::None,
[INFO] [stderr]                                 },
[INFO] [stderr]                             ],
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "_group_size",
[INFO] [stderr]                             span: #0 bytes(411..422),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Path {
[INFO] [stderr]                         qself: None,
[INFO] [stderr]                         path: Path {
[INFO] [stderr]                             leading_colon: None,
[INFO] [stderr]                             segments: [
[INFO] [stderr]                                 PathSegment {
[INFO] [stderr]                                     ident: Ident {
[INFO] [stderr]                                         ident: "usize",
[INFO] [stderr]                                         span: #0 bytes(424..429),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     arguments: PathArguments::None,
[INFO] [stderr]                                 },
[INFO] [stderr]                             ],
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Default,
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::ForLoop {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     label: None,
[INFO] [stderr]                     for_token: For,
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "i",
[INFO] [stderr]                             span: #0 bytes(441..442),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     in_token: In,
[INFO] [stderr]                     expr: Expr::Range {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         start: Some(
[INFO] [stderr]                             Expr::Lit {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 lit: Lit::Int {
[INFO] [stderr]                                     token: 0,
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         ),
[INFO] [stderr]                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                             DotDot,
[INFO] [stderr]                         ),
[INFO] [stderr]                         end: Some(
[INFO] [stderr]                             Expr::Index {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 expr: Expr::Field {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     base: Expr::Path {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         qself: None,
[INFO] [stderr]                                         path: Path {
[INFO] [stderr]                                             leading_colon: None,
[INFO] [stderr]                                             segments: [
[INFO] [stderr]                                                 PathSegment {
[INFO] [stderr]                                                     ident: Ident {
[INFO] [stderr]                                                         ident: "a",
[INFO] [stderr]                                                         span: #0 bytes(449..450),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             ],
[INFO] [stderr]                                         },
[INFO] [stderr]                                     },
[INFO] [stderr]                                     dot_token: Dot,
[INFO] [stderr]                                     member: Member::Named(
[INFO] [stderr]                                         Ident {
[INFO] [stderr]                                             ident: "shape",
[INFO] [stderr]                                             span: #0 bytes(451..456),
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 bracket_token: Bracket,
[INFO] [stderr]                                 index: Expr::Lit {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     lit: Lit::Int {
[INFO] [stderr]                                         token: 0,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         ),
[INFO] [stderr]                     },
[INFO] [stderr]                     body: Block {
[INFO] [stderr]                         brace_token: Brace,
[INFO] [stderr]                         stmts: [
[INFO] [stderr]                             Stmt::Expr(
[INFO] [stderr]                                 Expr::ForLoop {
[INFO] [stderr]                                     attrs: [],
[INFO] [stderr]                                     label: None,
[INFO] [stderr]                                     for_token: For,
[INFO] [stderr]                                     pat: Pat::Ident {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         by_ref: None,
[INFO] [stderr]                                         mutability: None,
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "j",
[INFO] [stderr]                                             span: #0 bytes(474..475),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         subpat: None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                     in_token: In,
[INFO] [stderr]                                     expr: Expr::Range {
[INFO] [stderr]                                         attrs: [],
[INFO] [stderr]                                         start: Some(
[INFO] [stderr]                                             Expr::Lit {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 lit: Lit::Int {
[INFO] [stderr]                                                     token: 0,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             },
[INFO] [stderr]                                         ),
[INFO] [stderr]                                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                                             DotDot,
[INFO] [stderr]                                         ),
[INFO] [stderr]                                         end: Some(
[INFO] [stderr]                                             Expr::Index {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 expr: Expr::Field {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     base: Expr::Path {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         qself: None,
[INFO] [stderr]                                                         path: Path {
[INFO] [stderr]                                                             leading_colon: None,
[INFO] [stderr]                                                             segments: [
[INFO] [stderr]                                                                 PathSegment {
[INFO] [stderr]                                                                     ident: Ident {
[INFO] [stderr]                                                                         ident: "b",
[INFO] [stderr]                                                                         span: #0 bytes(482..483),
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             ],
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     dot_token: Dot,
[INFO] [stderr]                                                     member: Member::Named(
[INFO] [stderr]                                                         Ident {
[INFO] [stderr]                                                             ident: "shape",
[INFO] [stderr]                                                             span: #0 bytes(484..489),
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     ),
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 bracket_token: Bracket,
[INFO] [stderr]                                                 index: Expr::Lit {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     lit: Lit::Int {
[INFO] [stderr]                                                         token: 1,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 },
[INFO] [stderr]                                             },
[INFO] [stderr]                                         ),
[INFO] [stderr]                                     },
[INFO] [stderr]                                     body: Block {
[INFO] [stderr]                                         brace_token: Brace,
[INFO] [stderr]                                         stmts: [
[INFO] [stderr]                                             Stmt::Local {
[INFO] [stderr]                                                 attrs: [],
[INFO] [stderr]                                                 let_token: Let,
[INFO] [stderr]                                                 pat: Pat::Ident {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     by_ref: None,
[INFO] [stderr]                                                     mutability: Some(
[INFO] [stderr]                                                         Mut,
[INFO] [stderr]                                                     ),
[INFO] [stderr]                                                     ident: Ident {
[INFO] [stderr]                                                         ident: "sum",
[INFO] [stderr]                                                         span: #0 bytes(515..518),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     subpat: None,
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 init: Some(
[INFO] [stderr]                                                     LocalInit {
[INFO] [stderr]                                                         eq_token: Eq,
[INFO] [stderr]                                                         expr: Expr::Lit {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             lit: Lit::Float {
[INFO] [stderr]                                                                 token: 0.0f32,
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         diverge: None,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 ),
[INFO] [stderr]                                                 semi_token: Semi,
[INFO] [stderr]                                             },
[INFO] [stderr]                                             Stmt::Expr(
[INFO] [stderr]                                                 Expr::ForLoop {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     label: None,
[INFO] [stderr]                                                     for_token: For,
[INFO] [stderr]                                                     pat: Pat::Ident {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         by_ref: None,
[INFO] [stderr]                                                         mutability: None,
[INFO] [stderr]                                                         ident: Ident {
[INFO] [stderr]                                                             ident: "k",
[INFO] [stderr]                                                             span: #0 bytes(545..546),
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         subpat: None,
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     in_token: In,
[INFO] [stderr]                                                     expr: Expr::Range {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         start: Some(
[INFO] [stderr]                                                             Expr::Lit {
[INFO] [stderr]                                                                 attrs: [],
[INFO] [stderr]                                                                 lit: Lit::Int {
[INFO] [stderr]                                                                     token: 0,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                         limits: RangeLimits::HalfOpen(
[INFO] [stderr]                                                             DotDot,
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                         end: Some(
[INFO] [stderr]                                                             Expr::Index {
[INFO] [stderr]                                                                 attrs: [],
[INFO] [stderr]                                                                 expr: Expr::Field {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     base: Expr::Path {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         qself: None,
[INFO] [stderr]                                                                         path: Path {
[INFO] [stderr]                                                                             leading_colon: None,
[INFO] [stderr]                                                                             segments: [
[INFO] [stderr]                                                                                 PathSegment {
[INFO] [stderr]                                                                                     ident: Ident {
[INFO] [stderr]                                                                                         ident: "a",
[INFO] [stderr]                                                                                         span: #0 bytes(553..554),
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     dot_token: Dot,
[INFO] [stderr]                                                                     member: Member::Named(
[INFO] [stderr]                                                                         Ident {
[INFO] [stderr]                                                                             ident: "shape",
[INFO] [stderr]                                                                             span: #0 bytes(555..560),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     ),
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                                 bracket_token: Bracket,
[INFO] [stderr]                                                                 index: Expr::Lit {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     lit: Lit::Int {
[INFO] [stderr]                                                                         token: 1,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         ),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     body: Block {
[INFO] [stderr]                                                         brace_token: Brace,
[INFO] [stderr]                                                         stmts: [
[INFO] [stderr]                                                             Stmt::Expr(
[INFO] [stderr]                                                                 Expr::Binary {
[INFO] [stderr]                                                                     attrs: [],
[INFO] [stderr]                                                                     left: Expr::Path {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         qself: None,
[INFO] [stderr]                                                                         path: Path {
[INFO] [stderr]                                                                             leading_colon: None,
[INFO] [stderr]                                                                             segments: [
[INFO] [stderr]                                                                                 PathSegment {
[INFO] [stderr]                                                                                     ident: Ident {
[INFO] [stderr]                                                                                         ident: "sum",
[INFO] [stderr]                                                                                         span: #0 bytes(582..585),
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     op: BinOp::AddAssign(
[INFO] [stderr]                                                                         PlusEq,
[INFO] [stderr]                                                                     ),
[INFO] [stderr]                                                                     right: Expr::Binary {
[INFO] [stderr]                                                                         attrs: [],
[INFO] [stderr]                                                                         left: Expr::MethodCall {
[INFO] [stderr]                                                                             attrs: [],
[INFO] [stderr]                                                                             receiver: Expr::Path {
[INFO] [stderr]                                                                                 attrs: [],
[INFO] [stderr]                                                                                 qself: None,
[INFO] [stderr]                                                                                 path: Path {
[INFO] [stderr]                                                                                     leading_colon: None,
[INFO] [stderr]                                                                                     segments: [
[INFO] [stderr]                                                                                         PathSegment {
[INFO] [stderr]                                                                                             ident: Ident {
[INFO] [stderr]                                                                                                 ident: "a",
[INFO] [stderr]                                                                                                 span: #0 bytes(589..590),
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                             arguments: PathArguments::None,
[INFO] [stderr]                                                                                         },
[INFO] [stderr]                                                                                     ],
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             dot_token: Dot,
[INFO] [stderr]                                                                             method: Ident {
[INFO] [stderr]                                                                                 ident: "get_2d",
[INFO] [stderr]                                                                                 span: #0 bytes(591..597),
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             turbofish: None,
[INFO] [stderr]                                                                             paren_token: Paren,
[INFO] [stderr]                                                                             args: [
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "i",
[INFO] [stderr]                                                                                                     span: #0 bytes(598..599),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                                 Comma,
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "k",
[INFO] [stderr]                                                                                                     span: #0 bytes(601..602),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         op: BinOp::Mul(
[INFO] [stderr]                                                                             Star,
[INFO] [stderr]                                                                         ),
[INFO] [stderr]                                                                         right: Expr::MethodCall {
[INFO] [stderr]                                                                             attrs: [],
[INFO] [stderr]                                                                             receiver: Expr::Path {
[INFO] [stderr]                                                                                 attrs: [],
[INFO] [stderr]                                                                                 qself: None,
[INFO] [stderr]                                                                                 path: Path {
[INFO] [stderr]                                                                                     leading_colon: None,
[INFO] [stderr]                                                                                     segments: [
[INFO] [stderr]                                                                                         PathSegment {
[INFO] [stderr]                                                                                             ident: Ident {
[INFO] [stderr]                                                                                                 ident: "b",
[INFO] [stderr]                                                                                                 span: #0 bytes(606..607),
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                             arguments: PathArguments::None,
[INFO] [stderr]                                                                                         },
[INFO] [stderr]                                                                                     ],
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             dot_token: Dot,
[INFO] [stderr]                                                                             method: Ident {
[INFO] [stderr]                                                                                 ident: "get_2d",
[INFO] [stderr]                                                                                 span: #0 bytes(608..614),
[INFO] [stderr]                                                                             },
[INFO] [stderr]                                                                             turbofish: None,
[INFO] [stderr]                                                                             paren_token: Paren,
[INFO] [stderr]                                                                             args: [
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "k",
[INFO] [stderr]                                                                                                     span: #0 bytes(615..616),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                                 Comma,
[INFO] [stderr]                                                                                 Expr::Path {
[INFO] [stderr]                                                                                     attrs: [],
[INFO] [stderr]                                                                                     qself: None,
[INFO] [stderr]                                                                                     path: Path {
[INFO] [stderr]                                                                                         leading_colon: None,
[INFO] [stderr]                                                                                         segments: [
[INFO] [stderr]                                                                                             PathSegment {
[INFO] [stderr]                                                                                                 ident: Ident {
[INFO] [stderr]                                                                                                     ident: "j",
[INFO] [stderr]                                                                                                     span: #0 bytes(618..619),
[INFO] [stderr]                                                                                                 },
[INFO] [stderr]                                                                                                 arguments: PathArguments::None,
[INFO] [stderr]                                                                                             },
[INFO] [stderr]                                                                                         ],
[INFO] [stderr]                                                                                     },
[INFO] [stderr]                                                                                 },
[INFO] [stderr]                                                                             ],
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                                 Some(
[INFO] [stderr]                                                                     Semi,
[INFO] [stderr]                                                                 ),
[INFO] [stderr]                                                             ),
[INFO] [stderr]                                                         ],
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 None,
[INFO] [stderr]                                             ),
[INFO] [stderr]                                             Stmt::Expr(
[INFO] [stderr]                                                 Expr::MethodCall {
[INFO] [stderr]                                                     attrs: [],
[INFO] [stderr]                                                     receiver: Expr::Path {
[INFO] [stderr]                                                         attrs: [],
[INFO] [stderr]                                                         qself: None,
[INFO] [stderr]                                                         path: Path {
[INFO] [stderr]                                                             leading_colon: None,
[INFO] [stderr]                                                             segments: [
[INFO] [stderr]                                                                 PathSegment {
[INFO] [stderr]                                                                     ident: Ident {
[INFO] [stderr]                                                                         ident: "out",
[INFO] [stderr]                                                                         span: #0 bytes(648..651),
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                     arguments: PathArguments::None,
[INFO] [stderr]                                                                 },
[INFO] [stderr]                                                             ],
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     dot_token: Dot,
[INFO] [stderr]                                                     method: Ident {
[INFO] [stderr]                                                         ident: "set_2d",
[INFO] [stderr]                                                         span: #0 bytes(652..658),
[INFO] [stderr]                                                     },
[INFO] [stderr]                                                     turbofish: None,
[INFO] [stderr]                                                     paren_token: Paren,
[INFO] [stderr]                                                     args: [
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "i",
[INFO] [stderr]                                                                             span: #0 bytes(659..660),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         Comma,
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "j",
[INFO] [stderr]                                                                             span: #0 bytes(662..663),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                         Comma,
[INFO] [stderr]                                                         Expr::Path {
[INFO] [stderr]                                                             attrs: [],
[INFO] [stderr]                                                             qself: None,
[INFO] [stderr]                                                             path: Path {
[INFO] [stderr]                                                                 leading_colon: None,
[INFO] [stderr]                                                                 segments: [
[INFO] [stderr]                                                                     PathSegment {
[INFO] [stderr]                                                                         ident: Ident {
[INFO] [stderr]                                                                             ident: "sum",
[INFO] [stderr]                                                                             span: #0 bytes(665..668),
[INFO] [stderr]                                                                         },
[INFO] [stderr]                                                                         arguments: PathArguments::None,
[INFO] [stderr]                                                                     },
[INFO] [stderr]                                                                 ],
[INFO] [stderr]                                                             },
[INFO] [stderr]                                                         },
[INFO] [stderr]                                                     ],
[INFO] [stderr]                                                 },
[INFO] [stderr]                                                 Some(
[INFO] [stderr]                                                     Semi,
[INFO] [stderr]                                                 ),
[INFO] [stderr]                                             ),
[INFO] [stderr]                                         ],
[INFO] [stderr]                                     },
[INFO] [stderr]                                 },
[INFO] [stderr]                                 None,
[INFO] [stderr]                             ),
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `matmul` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `matmul` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     matmul
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     a
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 60     b
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 61     out
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PUNCT    ] depth=1  => 57     &
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 22     mut
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 58     Tensor
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 62     _grid
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 63     GpuGrid
[INFO] [stderr] │    [PUNCT    ] depth=1  => 59     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 64     _group_size
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [PRIM_TYPE] depth=1  => 65     usize
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 66     )
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 67     {
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 13     for
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 68     i
[INFO] [stderr] │    [KEYWORD  ] depth=1  => 16     in
[INFO] [stderr] │    [LITERAL  ] depth=1  => 69     0
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     a
[INFO] [stderr] │    [PUNCT    ] depth=1  => 70     .
[INFO] [stderr] │    [IDENT    ] depth=1  => 71     shape
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 72     [
[INFO] [stderr] │      [LITERAL  ] depth=2  => 69     0
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 73     ]
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 67     {
[INFO] [stderr] │      [KEYWORD  ] depth=2  => 13     for
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 74     j
[INFO] [stderr] │      [KEYWORD  ] depth=2  => 16     in
[INFO] [stderr] │      [LITERAL  ] depth=2  => 69     0
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 60     b
[INFO] [stderr] │      [PUNCT    ] depth=2  => 70     .
[INFO] [stderr] │      [IDENT    ] depth=2  => 71     shape
[INFO] [stderr] │      [GRP_OPEN ] depth=2  => 72     [
[INFO] [stderr] │        [LITERAL  ] depth=3  => 75     1
[INFO] [stderr] │      [GRP_CLOSE] depth=2  => 73     ]
[INFO] [stderr] │      [GRP_OPEN ] depth=2  => 67     {
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 17     let
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 22     mut
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 76     sum
[INFO] [stderr] │        [PUNCT    ] depth=3  => 77     =
[INFO] [stderr] │        [LITERAL  ] depth=3  => 78     0.0f32
[INFO] [stderr] │        [PUNCT    ] depth=3  => 79     ;
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 13     for
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 80     k
[INFO] [stderr] │        [KEYWORD  ] depth=3  => 16     in
[INFO] [stderr] │        [LITERAL  ] depth=3  => 69     0
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 55     a
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [IDENT    ] depth=3  => 71     shape
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 72     [
[INFO] [stderr] │          [LITERAL  ] depth=4  => 75     1
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 73     ]
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 67     {
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 76     sum
[INFO] [stderr] │          [PUNCT    ] depth=4  => 81     +
[INFO] [stderr] │          [PUNCT    ] depth=4  => 77     =
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 55     a
[INFO] [stderr] │          [PUNCT    ] depth=4  => 70     .
[INFO] [stderr] │          [IDENT    ] depth=4  => 82     get_2d
[INFO] [stderr] │          [GRP_OPEN ] depth=4  => 54     (
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 68     i
[INFO] [stderr] │            [PUNCT    ] depth=5  => 59     ,
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 80     k
[INFO] [stderr] │          [GRP_CLOSE] depth=4  => 66     )
[INFO] [stderr] │          [PUNCT    ] depth=4  => 83     *
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 60     b
[INFO] [stderr] │          [PUNCT    ] depth=4  => 70     .
[INFO] [stderr] │          [IDENT    ] depth=4  => 82     get_2d
[INFO] [stderr] │          [GRP_OPEN ] depth=4  => 54     (
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 80     k
[INFO] [stderr] │            [PUNCT    ] depth=5  => 59     ,
[INFO] [stderr] │            [LOCAL_VAR] depth=5  => 74     j
[INFO] [stderr] │          [GRP_CLOSE] depth=4  => 66     )
[INFO] [stderr] │          [PUNCT    ] depth=4  => 79     ;
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 84     }
[INFO] [stderr] │        [LOCAL_VAR] depth=3  => 61     out
[INFO] [stderr] │        [PUNCT    ] depth=3  => 70     .
[INFO] [stderr] │        [IDENT    ] depth=3  => 85     set_2d
[INFO] [stderr] │        [GRP_OPEN ] depth=3  => 54     (
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 68     i
[INFO] [stderr] │          [PUNCT    ] depth=4  => 59     ,
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 74     j
[INFO] [stderr] │          [PUNCT    ] depth=4  => 59     ,
[INFO] [stderr] │          [LOCAL_VAR] depth=4  => 76     sum
[INFO] [stderr] │        [GRP_CLOSE] depth=3  => 66     )
[INFO] [stderr] │        [PUNCT    ] depth=3  => 79     ;
[INFO] [stderr] │      [GRP_CLOSE] depth=2  => 84     }
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 84     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 84     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `matmul` ──────────────────────────────
[INFO] [stderr]    [param]  a
[INFO] [stderr]    [param]  b
[INFO] [stderr]    [param]  out
[INFO] [stderr]    [param]  _grid
[INFO] [stderr]    [param]  _group_size
[INFO] [stderr]    [local]  i
[INFO] [stderr]    [local]  j
[INFO] [stderr]    [local]  sum
[INFO] [stderr]    [local]  k
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `matmul` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr]    id=22   mut
[INFO] [stderr]    id=13   for
[INFO] [stderr]    id=16   in
[INFO] [stderr]    id=17   let
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `matmul` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `matmul` ──
[INFO] [stderr]    keyword   : 10
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 23
[INFO] [stderr]    gpu_type  : 4
[INFO] [stderr]    prim_type : 1
[INFO] [stderr]    ident     : 7
[INFO] [stderr]    literal   : 7
[INFO] [stderr]    punct     : 35
[INFO] [stderr]    group     : 11
[INFO] [stderr]    total     : 109
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "vertex_main",
[INFO] [stderr]             span: #0 bytes(1027..1038),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "position",
[INFO] [stderr]                             span: #0 bytes(1039..1047),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1050..1053),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]             Comma,
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "color",
[INFO] [stderr]                             span: #0 bytes(1059..1064),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1067..1070),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Type(
[INFO] [stderr]             RArrow,
[INFO] [stderr]             Type::Path {
[INFO] [stderr]                 qself: None,
[INFO] [stderr]                 path: Path {
[INFO] [stderr]                     leading_colon: None,
[INFO] [stderr]                     segments: [
[INFO] [stderr]                         PathSegment {
[INFO] [stderr]                             ident: Ident {
[INFO] [stderr]                                 ident: "VertexOutput",
[INFO] [stderr]                                 span: #0 bytes(1079..1091),
[INFO] [stderr]                             },
[INFO] [stderr]                             arguments: PathArguments::None,
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                 },
[INFO] [stderr]             },
[INFO] [stderr]         ),
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::Struct {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     qself: None,
[INFO] [stderr]                     path: Path {
[INFO] [stderr]                         leading_colon: None,
[INFO] [stderr]                         segments: [
[INFO] [stderr]                             PathSegment {
[INFO] [stderr]                                 ident: Ident {
[INFO] [stderr]                                     ident: "VertexOutput",
[INFO] [stderr]                                     span: #0 bytes(1098..1110),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 arguments: PathArguments::None,
[INFO] [stderr]                             },
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                     brace_token: Brace,
[INFO] [stderr]                     fields: [
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "clip_position",
[INFO] [stderr]                                     span: #0 bytes(1121..1134),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: Some(
[INFO] [stderr]                                 Colon,
[INFO] [stderr]                             ),
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "position",
[INFO] [stderr]                                                 span: #0 bytes(1136..1144),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         Comma,
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "color",
[INFO] [stderr]                                     span: #0 bytes(1154..1159),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: None,
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "color",
[INFO] [stderr]                                                 span: #0 bytes(1154..1159),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         Comma,
[INFO] [stderr]                     ],
[INFO] [stderr]                     dot2_token: None,
[INFO] [stderr]                     rest: None,
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `vertex_main` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `vertex_main` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     vertex_main
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     position
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │    [PUNCT    ] depth=1  => 62     ,
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 63     color
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 64     )
[INFO] [stderr] │  [PUNCT    ] depth=0  => 65     -
[INFO] [stderr] │  [PUNCT    ] depth=0  => 66     >
[INFO] [stderr] │  [GPU_TYPE ] depth=0  => 67     VertexOutput
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 68     {
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 67     VertexOutput
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 68     {
[INFO] [stderr] │      [IDENT    ] depth=2  => 69     clip_position
[INFO] [stderr] │      [PUNCT    ] depth=2  => 56     :
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 55     position
[INFO] [stderr] │      [PUNCT    ] depth=2  => 62     ,
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 63     color
[INFO] [stderr] │      [PUNCT    ] depth=2  => 62     ,
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 70     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 70     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `vertex_main` ──────────────────────────────
[INFO] [stderr]    [param]  position
[INFO] [stderr]    [param]  color
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `vertex_main` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `vertex_main` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `vertex_main` ──
[INFO] [stderr]    keyword   : 1
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 4
[INFO] [stderr]    gpu_type  : 2
[INFO] [stderr]    prim_type : 2
[INFO] [stderr]    ident     : 2
[INFO] [stderr]    literal   : 2
[INFO] [stderr]    punct     : 10
[INFO] [stderr]    group     : 5
[INFO] [stderr]    total     : 33
[INFO] [stderr] ── Rust Keyword Table ──────────────────────────────────
[INFO] [stderr]    ID  keyword
[INFO] [stderr]    ──  ───────────
[INFO] [stderr]     0   [strict]  as
[INFO] [stderr]     1   [strict]  async
[INFO] [stderr]     2   [strict]  await
[INFO] [stderr]     3   [strict]  break
[INFO] [stderr]     4   [strict]  const
[INFO] [stderr]     5   [strict]  continue
[INFO] [stderr]     6   [strict]  crate
[INFO] [stderr]     7   [strict]  dyn
[INFO] [stderr]     8   [strict]  else
[INFO] [stderr]     9   [strict]  enum
[INFO] [stderr]    10   [strict]  extern
[INFO] [stderr]    11   [strict]  false
[INFO] [stderr]    12   [strict]  fn
[INFO] [stderr]    13   [strict]  for
[INFO] [stderr]    14   [strict]  if
[INFO] [stderr]    15   [strict]  impl
[INFO] [stderr]    16   [strict]  in
[INFO] [stderr]    17   [strict]  let
[INFO] [stderr]    18   [strict]  loop
[INFO] [stderr]    19   [strict]  match
[INFO] [stderr]    20   [strict]  mod
[INFO] [stderr]    21   [strict]  move
[INFO] [stderr]    22   [strict]  mut
[INFO] [stderr]    23   [strict]  pub
[INFO] [stderr]    24   [strict]  ref
[INFO] [stderr]    25   [strict]  return
[INFO] [stderr]    26   [strict]  self
[INFO] [stderr]    27   [strict]  Self
[INFO] [stderr]    28   [strict]  static
[INFO] [stderr]    29   [strict]  struct
[INFO] [stderr]    30   [strict]  super
[INFO] [stderr]    31   [strict]  trait
[INFO] [stderr]    32   [strict]  true
[INFO] [stderr]    33   [strict]  type
[INFO] [stderr]    34   [strict]  unsafe
[INFO] [stderr]    35   [strict]  use
[INFO] [stderr]    36   [strict]  where
[INFO] [stderr]    37   [strict]  while
[INFO] [stderr]    38   [weak]    union
[INFO] [stderr]    39   [weak]    macro_rules
[INFO] [stderr]    40   [weak]    yeet
[INFO] [stderr]    41   [reserved]abstract
[INFO] [stderr]    42   [reserved]become
[INFO] [stderr]    43   [reserved]box
[INFO] [stderr]    44   [reserved]do
[INFO] [stderr]    45   [reserved]final
[INFO] [stderr]    46   [reserved]macro
[INFO] [stderr]    47   [reserved]override
[INFO] [stderr]    48   [reserved]priv
[INFO] [stderr]    49   [reserved]typeof
[INFO] [stderr]    50   [reserved]unsized
[INFO] [stderr]    51   [reserved]virtual
[INFO] [stderr]    52   [reserved]yield
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ItemFn {
[INFO] [stderr]     attrs: [],
[INFO] [stderr]     vis: Visibility::Inherited,
[INFO] [stderr]     sig: Signature {
[INFO] [stderr]         constness: None,
[INFO] [stderr]         asyncness: None,
[INFO] [stderr]         unsafety: None,
[INFO] [stderr]         abi: None,
[INFO] [stderr]         fn_token: Fn,
[INFO] [stderr]         ident: Ident {
[INFO] [stderr]             ident: "fragment_main",
[INFO] [stderr]             span: #0 bytes(1351..1364),
[INFO] [stderr]         },
[INFO] [stderr]         generics: Generics {
[INFO] [stderr]             lt_token: None,
[INFO] [stderr]             params: [],
[INFO] [stderr]             gt_token: None,
[INFO] [stderr]             where_clause: None,
[INFO] [stderr]         },
[INFO] [stderr]         paren_token: Paren,
[INFO] [stderr]         inputs: [
[INFO] [stderr]             FnArg::Typed(
[INFO] [stderr]                 PatType {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     pat: Pat::Ident {
[INFO] [stderr]                         attrs: [],
[INFO] [stderr]                         by_ref: None,
[INFO] [stderr]                         mutability: None,
[INFO] [stderr]                         ident: Ident {
[INFO] [stderr]                             ident: "color",
[INFO] [stderr]                             span: #0 bytes(1365..1370),
[INFO] [stderr]                         },
[INFO] [stderr]                         subpat: None,
[INFO] [stderr]                     },
[INFO] [stderr]                     colon_token: Colon,
[INFO] [stderr]                     ty: Type::Array {
[INFO] [stderr]                         bracket_token: Bracket,
[INFO] [stderr]                         elem: Type::Path {
[INFO] [stderr]                             qself: None,
[INFO] [stderr]                             path: Path {
[INFO] [stderr]                                 leading_colon: None,
[INFO] [stderr]                                 segments: [
[INFO] [stderr]                                     PathSegment {
[INFO] [stderr]                                         ident: Ident {
[INFO] [stderr]                                             ident: "f32",
[INFO] [stderr]                                             span: #0 bytes(1373..1376),
[INFO] [stderr]                                         },
[INFO] [stderr]                                         arguments: PathArguments::None,
[INFO] [stderr]                                     },
[INFO] [stderr]                                 ],
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                         semi_token: Semi,
[INFO] [stderr]                         len: Expr::Lit {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             lit: Lit::Int {
[INFO] [stderr]                                 token: 4,
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     },
[INFO] [stderr]                 },
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]         variadic: None,
[INFO] [stderr]         output: ReturnType::Type(
[INFO] [stderr]             RArrow,
[INFO] [stderr]             Type::Path {
[INFO] [stderr]                 qself: None,
[INFO] [stderr]                 path: Path {
[INFO] [stderr]                     leading_colon: None,
[INFO] [stderr]                     segments: [
[INFO] [stderr]                         PathSegment {
[INFO] [stderr]                             ident: Ident {
[INFO] [stderr]                                 ident: "FragmentOutput",
[INFO] [stderr]                                 span: #0 bytes(1385..1399),
[INFO] [stderr]                             },
[INFO] [stderr]                             arguments: PathArguments::None,
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                 },
[INFO] [stderr]             },
[INFO] [stderr]         ),
[INFO] [stderr]     },
[INFO] [stderr]     block: Block {
[INFO] [stderr]         brace_token: Brace,
[INFO] [stderr]         stmts: [
[INFO] [stderr]             Stmt::Expr(
[INFO] [stderr]                 Expr::Struct {
[INFO] [stderr]                     attrs: [],
[INFO] [stderr]                     qself: None,
[INFO] [stderr]                     path: Path {
[INFO] [stderr]                         leading_colon: None,
[INFO] [stderr]                         segments: [
[INFO] [stderr]                             PathSegment {
[INFO] [stderr]                                 ident: Ident {
[INFO] [stderr]                                     ident: "FragmentOutput",
[INFO] [stderr]                                     span: #0 bytes(1406..1420),
[INFO] [stderr]                                 },
[INFO] [stderr]                                 arguments: PathArguments::None,
[INFO] [stderr]                             },
[INFO] [stderr]                         ],
[INFO] [stderr]                     },
[INFO] [stderr]                     brace_token: Brace,
[INFO] [stderr]                     fields: [
[INFO] [stderr]                         FieldValue {
[INFO] [stderr]                             attrs: [],
[INFO] [stderr]                             member: Member::Named(
[INFO] [stderr]                                 Ident {
[INFO] [stderr]                                     ident: "color",
[INFO] [stderr]                                     span: #0 bytes(1423..1428),
[INFO] [stderr]                                 },
[INFO] [stderr]                             ),
[INFO] [stderr]                             colon_token: None,
[INFO] [stderr]                             expr: Expr::Path {
[INFO] [stderr]                                 attrs: [],
[INFO] [stderr]                                 qself: None,
[INFO] [stderr]                                 path: Path {
[INFO] [stderr]                                     leading_colon: None,
[INFO] [stderr]                                     segments: [
[INFO] [stderr]                                         PathSegment {
[INFO] [stderr]                                             ident: Ident {
[INFO] [stderr]                                                 ident: "color",
[INFO] [stderr]                                                 span: #0 bytes(1423..1428),
[INFO] [stderr]                                             },
[INFO] [stderr]                                             arguments: PathArguments::None,
[INFO] [stderr]                                         },
[INFO] [stderr]                                     ],
[INFO] [stderr]                                 },
[INFO] [stderr]                             },
[INFO] [stderr]                         },
[INFO] [stderr]                     ],
[INFO] [stderr]                     dot2_token: None,
[INFO] [stderr]                     rest: None,
[INFO] [stderr]                 },
[INFO] [stderr]                 None,
[INFO] [stderr]             ),
[INFO] [stderr]         ],
[INFO] [stderr]     },
[INFO] [stderr] }
[INFO] [stderr] ── [metal] VenturaLexer dispatched for `fragment_main` (id × 1) ──
[INFO] [stderr] ┌── VenturaLexer: `fragment_main` ──────────────────────────────
[INFO] [stderr] │  [KEYWORD  ] depth=0  => 12     fn
[INFO] [stderr] │  [IDENT    ] depth=0  => 53     fragment_main
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 54     (
[INFO] [stderr] │    [LOCAL_VAR] depth=1  => 55     color
[INFO] [stderr] │    [PUNCT    ] depth=1  => 56     :
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 57     [
[INFO] [stderr] │      [PRIM_TYPE] depth=2  => 58     f32
[INFO] [stderr] │      [PUNCT    ] depth=2  => 59     ;
[INFO] [stderr] │      [LITERAL  ] depth=2  => 60     4
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 61     ]
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 62     )
[INFO] [stderr] │  [PUNCT    ] depth=0  => 63     -
[INFO] [stderr] │  [PUNCT    ] depth=0  => 64     >
[INFO] [stderr] │  [GPU_TYPE ] depth=0  => 65     FragmentOutput
[INFO] [stderr] │  [GRP_OPEN ] depth=0  => 66     {
[INFO] [stderr] │    [GPU_TYPE ] depth=1  => 65     FragmentOutput
[INFO] [stderr] │    [GRP_OPEN ] depth=1  => 66     {
[INFO] [stderr] │      [LOCAL_VAR] depth=2  => 55     color
[INFO] [stderr] │    [GRP_CLOSE] depth=1  => 67     }
[INFO] [stderr] │  [GRP_CLOSE] depth=0  => 67     }
[INFO] [stderr] └────────────────────────────────────────────────────────
[INFO] [stderr] ── Local vars in `fragment_main` ──────────────────────────────
[INFO] [stderr]    [param]  color
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used keywords in `fragment_main` ───────────────────────────
[INFO] [stderr]    id=12   fn
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── Used builtins in `fragment_main` ───────────────────────────
[INFO] [stderr]    (없음)
[INFO] [stderr] ────────────────────────────────────────────────────────
[INFO] [stderr] ── VenturaLexer summary: `fragment_main` ──
[INFO] [stderr]    keyword   : 1
[INFO] [stderr]    builtin   : 0
[INFO] [stderr]    local_var : 2
[INFO] [stderr]    gpu_type  : 2
[INFO] [stderr]    prim_type : 1
[INFO] [stderr]    ident     : 1
[INFO] [stderr]    literal   : 1
[INFO] [stderr]    punct     : 4
[INFO] [stderr]    group     : 4
[INFO] [stderr]    total     : 20
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/basic-fa58db0772827b6a)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gpgpu-9da135aa84a3e9df)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shader-836b8eceba2718da)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura-1b4cd794cdba38dc)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura_core-4f16453192b08ecd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura_cuda-a155659f62660730)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura_macro_utils-cc9dd6cefe131adb)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura_metal-a8c96fbed9aafe4c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ventura_rocm-3544e4447f3e0c35)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests basic
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gpgpu
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests shader
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ventura
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ventura_core
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/ventura-core/src/backend_lexer.rs - backend_lexer (line 16) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- crates/ventura-core/src/backend_lexer.rs - backend_lexer (line 16) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `make_lexer` in this scope
[INFO] [stdout]   --> crates/ventura-core/src/backend_lexer.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | let lexer = make_lexer("metal");
[INFO] [stdout]    |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 16 + use ventura_core::make_lexer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sig_stream` in this scope
[INFO] [stdout]   --> crates/ventura-core/src/backend_lexer.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | let tokens = lexer.tokenize_full(&sig_stream, &body_stream, &param_names);
[INFO] [stdout]    |                                   ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `body_stream` in this scope
[INFO] [stdout]   --> crates/ventura-core/src/backend_lexer.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 | let tokens = lexer.tokenize_full(&sig_stream, &body_stream, &param_names);
[INFO] [stdout]    |                                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `param_names` in this scope
[INFO] [stdout]   --> crates/ventura-core/src/backend_lexer.rs:18:62
[INFO] [stdout]    |
[INFO] [stdout] 18 | let tokens = lexer.tokenize_full(&sig_stream, &body_stream, &param_names);
[INFO] [stdout]    |                                                              ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     crates/ventura-core/src/backend_lexer.rs - backend_lexer (line 16)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `-p ventura-core --doc`
[INFO] running `Command { std: "docker" "inspect" "c265733ab4528900e5fc772f67112f15b854eeecd8d0e48d9df4947344cb0351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c265733ab4528900e5fc772f67112f15b854eeecd8d0e48d9df4947344cb0351", kill_on_drop: false }`
[INFO] [stdout] c265733ab4528900e5fc772f67112f15b854eeecd8d0e48d9df4947344cb0351
